Naredbe ponavljanja se često koriste da izvrše neke naredbe tačno 10, 100, ili neki drugi broj puta. Takva ponavljanja izgledaju ovako:
broj = pocetak while ( broj < kraj) { Naredba broj = broj + 1 }
U ovakvim petljama sa brojanjem koristimo jednu promenljivu kao brojač. Na početku, toj promenljivoj upišemo neku početni vrednost (obično nula ili jedan). Onda u uslovu petlje proveravamo da li je vrednost u toj promenljivoj došla do kraja. Ako nije - izvršavamo naredbe iz tela petlje, a ako jeste - naredba ponavljanja je završena. Kao poslednju naredbu u telu naredbe, uzimamo vrednost iz promenljive, uvećavamo je za jedan i ponovo upisujemo u promenljivu da bi while naredba opet proverila da li je ta nova vrednost manja od kraja.
U sledećem primeru je petlja koja ispisuje sve brojeve od 1 do 100:
broj = 1 while ( broj <= 100) { console.out(broj) broj = broj + 1 }
Pošto hoćemo da ponovimo ispis za svaki broj od 1 do 100, upisaćemo prvi broj u promenljivu. U uslovu while petlje ćemo proveriti da li je broj još uvek manji od 100. Pošto je manji, izvršiće se telo petlje i vrednost broja će biti prikazana na konzoli. Potom ćemo broj uvećati za jedan i ponovo proveriti da li da ponovimo telo petlje sa ovim brojem. Kao rezultat, naredbe u telu petlje će biti urađene za svaku vrednost broja od 1 do 100 i na izlazu će biti prikazane te vrednosti - u svakom koraku po jedna.
U ovom primeru ćemo da pomognemo Redu da dođe do praseta. Možemo da napravimo program sa pet naredbi „pomeri se napred“ kao na slici:
U ovom programu smo morali da pet puta kažemo Redu da se pomeri napred kada krene. Naredba ponavljanja može da nam pomogne tako što ćemo u nju da stavimo jednu naredbu „pomeri se napred“ a onda ćemo da upišemo da treba da se ta naredba ponovi pet puta. Tako bismo dobili program na slici:
U JavaScript jeziku bi taj program izgledao ovako:
broj = 0 while ( broj < 5) { pomeri_se_napred() broj++ }
Zamislite da je Red 100 polja udaljen od praseta. Zar ne bi bilo teško da 100 puta stavite naredbu „pomeri se napred“? Zar nije bolje da imamo jednu naredbu „Ponovi ___ puta naredbe“ u koju ćemo ubaciti „pomeri se napred“ naredbu i gde ćemo smo staviti broj 100 umesto 5 kao u prethodnom primeru? Naredbe ponavljanja nam pomažu da samo kažemo koliko puta treba da se ponovi neka naredba umesto da je mi ponavljamo u programu.
Primer - zbir brojeva od 1 do 100
U sledećem programu ćemo proći kroz sve brojeve počevši od 1 i uvećavati vrednost broja za jedan u svakoj iteraciji. To ćemo da radimo sve dok je broj manji od 100. U svakoj iteraciji ćemo dodati trenutnu vrednost broja u promenljivu zbir koja ima početnu vrednost 0.
broj = 1 zbir = 0 while ( broj <= 100 ) { zbir = zbir + broj broj = broj + 1 }